home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Languguage OS 2
/
Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO
/
language
/
parallax
/
more_exa.tar
/
more
/
X
/
xlife.p
< prev
next >
Wrap
Text File
|
1993-06-02
|
1KB
|
40 lines
SYSTEM life;
CONST ny = 128;
nx = 128;
black = COLOR(0,0,0);
white = COLOR(255,255,255);
CONFIGURATION field [0..ny-1],[0..nx-1];
CONNECTION l_r: field[i,j] -> field[(i-1) MOD ny, j].l_r,
field[(i+1) MOD ny, j].l_r;
u_d: field[i,j] -> field[i, (j+1) MOD nx].u_d,
field[i, (j-1) MOD nx].u_d;
SCALAR win : INTEGER;
VECTOR val : BOOLEAN;
buf, anz, anzlr, abuf : INTEGER;
BEGIN
win := OpenAbsWindow(nx, ny);
PARALLEL
val := VBRandom(); (* random init *)
IF val THEN
SetColor(black); SetPixel(DIM1, DIM2);
END;
LOOP
PROPAGATE.l_r (ORD(val),buf) REDUCE.SUM;
anzlr := ORD(val) + buf;
PROPAGATE.u_d (anzlr,abuf) REDUCE.SUM;
anz := anzlr + abuf;
IF val THEN
IF (anz < 3) OR (anz > 4) THEN
val := FALSE; SetColor(white); SetPixel(DIM1,DIM2);
END
ELSIF anz = 3 THEN
val := TRUE; SetColor(black); SetPixel(DIM1,DIM2);
END (* if *)
END (* loop *)
ENDPARALLEL
END life.